﻿using System;
using System.Collections.Generic;
using CodeCamp.Models.Shared;
using CCM = CodeCamp.Model;

namespace CodeCamp.Models.Sessions
{
  public class SessionsDetailsViewModel : SharedViewModel
  {
    public int SessionId { get; set; }
    public string Title { get; set; }
    public CCM.Session.SessionStatus Status { get; set; }
    public string Description { get; set; }
    public bool IsCurrentUserAuthorizedToEdit { get; set; }
    public SessionPresenters SessionPresenters { get; set; }
    public SessionTags SessionTags { get; set; }
    public EventTags EventTagsInUse { get; set; }
    public List<EventTags.EventTag> AllEventTags { get; set; }
    public string SessionMaterialsUrl { get; set; }
    public SessionScheduleInfo SessionScheduleInfo { get; set; }
    public SessionsDetailPrivateInformation PrivateInfo { get; set; }

    public int StatusID
    {
        get { return (int)Status; }
        set { Status = CCM.Session.GetSessionStatus(value); }
    }

    public class Presenter
    {
      public string PresenterName { get; set; }
      public int PresenterId { get; set; }
    }

    public class SessionsDetailPrivateInformation
    {
        /// <summary>
        /// Shared with presenter and organizers
        /// </summary>
        public string OrganizerNotes { get; set; }
        /// <summary>
        /// Organizers only
        /// </summary>
        public string PrivateNotes { get; set; }
    }

  }
}